Various communication protocols using distributed clock synchronization allow multiple master devices and slave devices to communicate over a bus in a communication network without a clock signal. An internal clock base for the devices is extracted from the incoming data. As a result, internal clocks in the devices are desirably within a certain tolerance, relative to one another, in order to correctly communicate over the bus. Crystal oscillators or on-chip oscillators may be used for clocking. In many implementations, a network may include transceivers and small slave devices that need to be able to decode messages sent on the bus and then perform actions, such as for waking up other devices. These devices may benefit from low cost characteristics, and from low power consumption.
Microcontrollers are found in a wide variety of products, such as electronic consumer devices and household appliances. A microcontroller should be clocked by a stable and accurate oscillating signal. Various applications involve communications in systems in which a controller provides communication to various nodes in the system for establishing a clock signal. One such application is in a CAN (controller area network) system, which can be used in automotive applications. Many CAN controllers require that the clock frequency does not deviate more than a fixed percentage from a nominal frequency. However, utilizing an external clock source for all nodes on such a network can be cost-prohibitive. Moreover, such networks may be susceptible to attack, and under which conditions, synchronizing to a central clock source may be undesirable.
These and other matters have presented challenges to communications, for a variety of applications.